package com.vcredit.creditcat.api;

import com.vcredit.creditcat.dto.AppLoginInfoDto;
import com.vcredit.creditcat.dto.AppLoginParamDto;
import com.vcredit.creditcat.dto.UserRegisterParamDto;
import com.vcredit.creditcat.dto.UserTempParamDto;
import com.vcredit.creditcat.dto.UserTempSmsParamDto;
import com.vcredit.framework.annotation.Log;

public interface IAuthorizeManager {
	/**
	 * 
	 * <p>
	 * 方法功能说明：
	 * </p>
	 * :用户登陆
	 * 
	 * @author
	 *         <p>
	 *         方法包含业务规则说明：
	 *         </p>
	 *         rule:
	 */
	public AppLoginInfoDto appLogin(AppLoginParamDto loginParam, String appDesc,String appInfo) throws Exception;

	/**
	 * 
	 * <p>
	 * 方法功能说明：
	 * </p>
	 * :用户注册
	 * 
	 * @author
	 *         <p>
	 *         方法包含业务规则说明：
	 *         </p>
	 *         rule:
	 * @throws Exception
	 */
	public void userRegister(UserRegisterParamDto registerParam, Long lastProcessId) throws Exception;


	/**
	 * 
	 * <p>
	 * 方法功能说明：
	 * </p>
	 * :上传头像
	 * 
	 * @author
	 *         <p>
	 *         方法包含业务规则说明：
	 *         </p>
	 *         rule:
	 * @throws Exception
	 */
	public void headImgUpload(String photoData , Long accountId) throws Exception;
	
	public void signatureImgUpload(String photoData , Long accountId, Long lastProccessId) throws Exception;

	public void userTempRegisterCheck(UserTempSmsParamDto smsParam) throws Exception;
	public void userTempRegister(UserTempParamDto loginParam) throws Exception;

	@Log
	String discuzRegister(UserTempParamDto loginParam) throws Exception;

	void userTempRegisterReCheck(UserTempSmsParamDto smsParam) throws Exception;
	/**
	 * 用户登录预检
	 * @param mobile
	 */
	void doLoginPreview(String mobile);
	/**
	 *用户渠道注册补充检查
	 * @param smsParam
	 * @throws Exception
	 */
	void userTempCheckSupplement(UserTempSmsParamDto smsParam) throws Exception;
}
